<?php

namespace app\admin\controller;

use think\Controller;
use Qiniu\Auth as Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
use app\admin\model\Photo;

/**
 * 上传控制器
 * @author hdj
 */
class Uploadfile extends Controller
{
    /**
     * 上传
     */
    public function upload()
    {

        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('image');
        // 移动到框架应用根目录/uploads/ 目录下
        $info = $file->move('./uploads');

        ////拼接本地上传的完整路径
        $filePath = getcwd() . '/uploads/' . $info->getSaveName();


        ///调用七牛sdk执行上传七牛
        $this->qiniu_upload($filePath);
        ////前端显示图片地址
        $result['msg'] = 'http://oz8rilu2x.bkt.clouddn.com/' . $info->getFilename();
        $photo = Photo::create(['image' => $result['msg']]);
        $result['photo_id'] = $photo->id;
        $result['status'] = 1;

//        dump($result);exit;
//        $this->ajaxReturn($info);
        return json($result);
    }


    public function qiniu_upload($filePath)
    {

// 需要填写你的 Access Key 和 Secret Key
        $accessKey = "AWNxui9ZTO9ZE1ibXcBjapNtMZzSJ6YYCp0oQe5U";
        $secretKey = "fR1yCppY7ZBxjCqMVgxc1qjOI_TU0RymdoBLBqbN";
        $bucket = "liu198787";
// 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
// 生成上传 Token
        $token = $auth->uploadToken($bucket);

// 上传到七牛后保存的文件名
        $key = basename($filePath);
// 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);

//        ////删除本地图片
//        unlink($filePath);
    }

}